/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package AccesoDatos.DAOLocal;

import AccesoDatos.IDAO.IDAOArchivo;
import ObjetoDominio.Archivo;
import ObjetoDominio.Estatus;
import ObjetoDominio.Servidor;
import ObjetoDominio.Usuario;
import Proxy.ProxyArchivo;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 *Clase que implementa la interfaz IDAOArchivo
 * para el caso particular Local
 * @author familia
 */
public class DAOArchivoLocal implements IDAOArchivo {

    Servidor _servidor;
    
    /**
     * Constructor de la clase
     * @param servidor datos del servidor para la comunicacion
     */
    public DAOArchivoLocal(Servidor servidor){
        _servidor = servidor;
    }
    
    /**
     * metodo que descarga los archivos desde la fuente por socket
     * @param arhivo datos del archivo a descargar
     */
    @Override
    public void DescargarArchivo(Archivo arhivo, Usuario usuario) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    /**
     * Metodo que reanuda la descarga de un archivo seleccionado por socket
     * @param arhivo datos del archivo a descargar
     */
    @Override
    public void ReanudarDescarga(Archivo arhivo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    /**
     * metodo que Carga el archivo seleccionado por socket
     * @param arhivo datos del archivo a descargar
     */
    @Override
    public void CargarArchivo(Archivo arhivo, Usuario usuario) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    /**
     * metodo que reanuda la craga de un archivo del cliente por socket
     * @param arhivo datos del archivo a descargar
     */
    @Override
    public void ReanudarCargar(Archivo arhivo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public List<Archivo> ObtenerListaArchivos(Usuario usuario) {
        
        List<Archivo> archivos = new ArrayList<Archivo>(); 
        try {
            File directorio = new File(usuario.getNombre());
            for (File file : directorio.listFiles()) {
                Archivo archivo = new Archivo();
                archivo.setNombre(file.getName());
                archivo.setTamaño(file.length());
                archivos.add(archivo);
            }
            return archivos;
            
        } catch (Exception e) {
            
            System.out.println(e);
            return archivos;
        }
    }

    @Override
    public void EnviarListaArchivos(List<Archivo> archivos) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

   
    
}
